package sad_G212;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class UtilArchivos {

	private FileReader archivo;
	
	public UtilArchivos(){}
	
	public UtilArchivos(String pRuta){
		leerArchivo(pRuta);
	}
	

	/**
	 * 1.2 Abrir el archivo
	 * @param pRuta
	 * @return
	 */
	public boolean leerArchivo(String pRuta){
		boolean ret = false;
		try{
			archivo = new FileReader(pRuta);
			ret = true;
		} catch (FileNotFoundException e) {
			System.out.println("ERROR: Revisar path del fichero de datos: " + pRuta);
		}
		return ret;
	}

	/** 
	 * 1.4 Cerrar el archivo
	 * @param pFr
	 * @return
	 */
	public void cerrarArchivo(){

		try {
			archivo.close();
		} catch (IOException e) {
			System.out.println("No se pudo cerrar correctamente el archivo");
		}

	}
	
	public boolean parametrosCorrectos(String[] args){

		boolean ret = true;

		if( args.length < 1 ){
			System.out.println("OBJETIVO: Realizar un barrido de parametros para determinar cuales son los más adecuados para aplicar el algoritmo kNN empleando 10-fold cross validation.");
			System.out.println("ARGUMENTOS:");
			System.out.println("\t1. Path (completo o relativo) del fichero de entrada: datos en formato .arff");
			System.out.println();
			System.out.println("Ejemplo de uso:");
			System.out.println("java -jar KNN.jar /ruta/al/archivo.arff");
			ret = false; 
		}

		return ret;

	}
	
	public FileReader getArchivo(){
		return archivo;
	}
	
}
